/* 主题与基础 */
:root {
  --brand: #0d6efd;
  --brand-2: #1ac6ff;
  --bg-soft: #f7f9fc;
}
body { background-color: var(--bg-soft); }
#content { min-height: 60vh; }

/* 顶部渐变横幅 */
.hero {
  background: linear-gradient(135deg, var(--brand) 0%, #5b8def 50%, var(--brand-2) 100%);
}
.hero .card-glass {
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.2);
}

/* 卡片与阴影 */
.card-glass,
.card { border-radius: 12px; }
.card-kpi { min-width: 220px; border: 0; box-shadow: 0 8px 24px rgba(13,110,253,.08); }
.card-kpi .icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; }

/* 表格与徽章 */
.table thead th { white-space: nowrap; }
.badge-soft { background-color: #eef2ff; color: #3b5bdb; }
.chip { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; }
.chip-danger { background: #fdecec; color: #dc3545; }
.chip-warning { background: #fff3cd; color: #b58100; }
.chip-success { background: #e6f4ea; color: #198754; }

/* 头像首字母 */
.avatar { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 600; }
.avatar-danger { background: #dc3545; }
.avatar-warning { background: #fd7e14; }
.avatar-success { background: #198754; }
.avatar-secondary { background: #6c757d; }

/* 工具栏 */
.toolbar { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }

/* 图表容器 */
.chart-container { position: relative; height: 320px; }

/* 页脚 */
.footer { background: #fff; }

/* 顶部右侧图标与下拉 */
.navbar .nav-link { position: relative; }
.navbar .nav-link .badge { font-size: .65rem; }
.dropdown-menu-sm { width: 340px; max-width: 90vw; }
.dropdown-menu-sm .dropdown-item { white-space: normal; }
